package mybatis.dao;

import mybatis.pojo.Student;
import mybatis.pojo.Student3;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author 汤舒青
 * @Version 1.0
 */


public interface StudentDao {
    public List<Student> findALL();

    public List<Student> findAllLimit(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    public int add(Student s);

    public int delete(int stuno);

    public int update(Student s);

    int findTotal();

    //    实现按照 按照 微信号,qq号,姓名,模糊查找学生的功能，加上分页
    public List<Student> search(@Param("wechat") String wechat, @Param("qq") String qq, @Param("sname") String sname, @Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    List<Student> search2(@Param("wechat") String wechat, @Param("qq") String qq, @Param("sname") String sname, @Param("start") Date start, @Param("end") Date end, @Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    List<Student> search3(@Param("city") List<String> fromcity);

    List<Student> search4(@Param("enterType") int enterType);

    List<Student> search5(@Param("type") String type, @Param("value") String value);

    List<Student> search6(@Param("gradeid") int gradeid, @Param("sname") String sname, @Param("telephone") String telephone, @Param("enterType") int enterType, @Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    List<Student3> search7();

    List<Student> searchByColumn(@Param("cols") String[] colNames, @Param("orderby") String orderby);

    int searchTotal(@Param("gradeid") int gradeid, @Param("sname") String sname, @Param("telephone") String telephone, @Param("start") Date start, @Param("end") Date end);

    int searchAll(@Param("map") Map<String, Object> map);

    List<Student> stuByLimit(@Param("map") Map<String, Object> map);

}
